package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	arr := [128]int{0}
	nummax := 0
	num_ascll_max := 0
	num_ascll_mix := 0
	nummix := 127
	reader := bufio.NewReader(os.Stdin)
	fmt.Print("请输入任意长度的字符串（包含空格也可以）：")
	str, _ := reader.ReadString('\n') // 读取直到换行符，返回值包括换行符
	str = str[:len(str)-1]
	for _, char := range str {
		if char >= 0 && char <= 127 { // 检查字符是否在ASCII码0-127范围内
			arr[char]++
		}
	}
	for index1, _ := range arr {
		if nummax < arr[index1] { //算最大
			nummax = arr[index1]
			num_ascll_max = index1
		}
		if arr[index1] > 0 && nummix > arr[index1] { //算最小
			nummix = arr[index1]
			num_ascll_mix = index1
		}

	}
	fmt.Printf("出现次数最多的字符为：%c，出现次数为：%d\n", num_ascll_max, nummax)
	fmt.Printf("出现次数最少的字符为：%c，出现次数为：%d", num_ascll_mix, nummix)

}
